Modeling the Interactions between Decisions within Software Architecture Knowledge
نویسندگان
چکیده
Software architecture is developed as a result of a selection process for software architectural solutions. The complexity, diversity and evolution nature of architectural solutions’ interactions forces the architect to make critical design decisions based only on his own experience. Even though, the same design problem has already been addressed by another architect in a similar situation. In this paper, we are presenting a model for reusable software architectural knowledge to support the architect within the design process in understanding the relationship between the different architectural solutions, and how they impact the architectural design reasoning. In addition, the model acts as a base for organizational software architectural knowledge sharing. Our contribution in this paper is classifying and modeling the solutions and decisions’ interactions, as well as how the design decision can be used as a reusable element for sharing the architectural experience.
منابع مشابه
Behavioral Modeling of Software Intensive System Architectures
Architectural modeling and analysis are mechanisms that allow the capture of design decisions early in the process, so that they can be assessed and modified without incurring the costs of incorrect implementations. This paper addresses Monterey Phoenix (MP), a behavioral model for system and software architecture specification based on event traces, which supports architecture composition oper...
متن کاملViability for codifying and documenting architectural design decisions with tool support
Current software architecture practices have been focused on modeling and documenting the architecture of a software system by means of several architectural views. In practice, the standard architecture documentation lacks explicit description of the decisions made and their underlying rationale, which often leads to knowledge loss. This fact strongly affects the maintenance activities as we n...
متن کاملEvolution-Centered Architectural Design Decisions Management
Software architecture is considered as a set of architectural design decisions. Managing the evolution of architectural design decisions helps to maintain consistency between requirements and the deployed system, and is also necessary for reducing architectural knowledge evaporation. In this paper, we propose a UML metamodel based on the Triple View Model from our previous research work. The UM...
متن کاملCapturing Architectural Knowledge of Software Product Lines
Context. In the context of software product lines, architectural decisions determine the design of an architecture that provides the software with the ability to be configured for different product variants and extended to accommodate future requirements. Although, variability models describe the different configurations of current and future products that the product line supports, the knowled...
متن کاملUnderstanding Software Architectures: Tracing architectural knowledge in software architecture documentation
Introduction " The reality is more excellent than the report. " – Ralph Waldo Emerson This thesis is about understanding software architecture documentation and how the integration of software architecture description and rationale can improve this understanding. Understanding software architecture (documentation) is important in the complete life cycle of a software architecture; during develo...
متن کامل